using UnityEngine;
using System.Text;
using System.Collections.Generic;

public static class Debuger
{
    // 可选：控制日志最大行数（防止内存溢出）
    private const int MAX_LOG_LINES = 1000;
    private static readonly Queue<string> _logQueue = new Queue<string>(MAX_LOG_LINES);

    /// <summary>
    /// 记录日志（自动添加时间戳）
    /// </summary>
    public static void Log(object message)
    {
        // 输出到Unity控制台
        Debug.Log(message);

        string logEntry = $"[{System.DateTime.Now:HH:mm:ss}] {message}";

        // 添加到内存日志
        _logQueue.Enqueue(logEntry);
        if (_logQueue.Count > MAX_LOG_LINES)
        {
            _logQueue.Dequeue();
        }
    }

    /// <summary>
    /// 获取全部日志记录
    /// </summary>
    public static string GetLogs()
    {
        return string.Join("\n", _logQueue);
    }

    /// <summary>
    /// 清空日志记录
    /// </summary>
    public static void Clear()
    {
        _logQueue.Clear();
    }

    // 可选：扩展方法（带日志类型）
    public static void LogWarning(object message)
    {
        Log($"WARNING: {message}");
    }

    public static void LogError(object message)
    {
        Log($"ERROR: {message}");
    }
}